package com.growthgate.bootcommon.service;

import com.growthgate.bootcommon.common.base.BaseService;
import com.growthgate.bootcommon.entity.User;

import java.util.List;

/**
 * UserService
 *
 * @author GrowthGate
 * @date 2019/12/11
 */
public interface UserService extends BaseService<User> {

    /**
     * 根据用户名查询用户（查询不到会返回null）
     *
     * @param username 用户名
     * @return 用户
     */
    User findUserByUsername(String username);

    /**
     * 根据用户名查询用户（查询不到会抛异常）
     *
     * @param username 用户名
     * @return 用户
     */
    User getUserByUsername(String username);

    /**
     * 查询昵称包含指定字符串的用户
     *
     * @param str 字符串
     * @return 用户列表
     */
    List<User> findByNicknameContaining(String str);

}